//导入 axios
import axios from 'axios';
import NProgress from 'nprogress';
import 'nprogress/nprogress.css';
//创建 axios 实例
const req = axios.create({
  baseURL: 'http://127.0.0.1:8081',
  timeout: 5000
});

//配置请求拦截器
req.interceptors.request.use(config => {
  //设置请求的公共参数 token
  config.headers.token = localStorage.getItem('token');
  //开启请求的 loading 效果
  NProgress.start();
  //返回 config
  return config;
});

req.interceptors.response.use(response => {
  //关闭 loading 效果
  NProgress.done();
  //处理失败的情况
  if(response.data.code !== '2000'){
    //提示
    alert(response.data.msg);
    //抛出一个失败的结果值  这里很灵活
    throw new Error(response.data.msg);
  }
  //成功时 只返回响应体中的 data 数据
  return response.data.data;
}, err => {
  alert('请求异常~');
  throw new Error('请求异常');
})


//暴露
export default req;